import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';

/**
 * 验证管道，用于在数据传输过程中进行验证。
 * @@Injectable() 装饰器表示这是一个可注入的服务类。
 */
@Injectable()
export class ValidationPipe implements PipeTransform {
  /**
   * 转换函数，用于处理和验证传入的数据。
   * @param value 需要被转换或验证的数据。
   * @param metadata 包含关于参数的元数据信息。
   * @returns 返回处理后的数据。
   */
  transform(value: any, metadata: ArgumentMetadata) {
    console.log(value);
    console.log('metadata.type', metadata.type);
    console.log('metadata.metatype', metadata.metatype);
    console.log('metadata.data', metadata.data);
    return value;
  }
}
